package com.greateamd.timetableasy.client.services.cursus;

import java.util.Date;
import java.util.List;

import com.google.gwt.user.client.rpc.RemoteService;
import com.google.gwt.user.client.rpc.RemoteServiceRelativePath;
import com.greateamd.timetableasy.domain.Cursus;
import com.greateamd.timetableasy.domain.Event;
import com.greateamd.timetableasy.domain.StudyPeriod;
import com.greateamd.timetableasy.domain.exceptions.DBServerSideException;

@RemoteServiceRelativePath("cursus.rpc")
public interface CursusService extends RemoteService {

	boolean remove(Cursus cursus) throws DBServerSideException ;
	boolean save(Cursus cursus)throws DBServerSideException;
	boolean update(Cursus cursus) throws DBServerSideException;
	boolean updateSp(StudyPeriod sp) throws DBServerSideException;
	Cursus find(int id) throws DBServerSideException;
	List<Cursus> getAll() throws DBServerSideException;

	List<Event> getStudyPeriodPlanning(StudyPeriod studyPeriod, Date fromDate, Date toDate);
	
}
